Міністерство освіти і науки України
Національний університет «Львівська Політехніка»
Звіт
Про виконання розрахункової роботи
з комп’ютерної графіки
на тему:
«Морфінг»
Теоретичні відомості
Морфінг - це плавне "перетворення" одного зображення на інше, під час якого конкретний елемент першого зображення "перетікає" в елемент другого зображення. Наприклад, при морфінгу одного автомобіля в іншій, колесо першого перетворюється на колесо другого. Комп'ютер не може виконати морфінг двох зображень самостійно - спочатку художникові потрібно задати відповідність елементів першого зображення елементам другого а також інші параметри, користуючись спеціальним редактором. Спосіб завдання відповідності залежить від редактора - це можуть бути крапки, лінії, полігони. Сам морфінг можна розбити на три частини: warping, tweening і dissolving.
Warping - перетворення зображення, при якому воно в окремих областях стискається і розтягується, ніби зображення нанесене на гуму. Розрахунок кожної точки цього зображення здійснюється по математичних формулам залежно від відповідності елементів зображення, яке задав художник. Під час warping'у елементи зображення намагаються прийняти положення і форму елементів другого зображення.
Tweening (побудова проміжних кадрів) - інтерполяція двох зображень для отримання плавної анімації. Наприклад, якщо відповідність елементів зображень задана крапками, то інтерполяцією положень крапок можна отримати проміжні відповідності.
Dissolving (розчиняти, в кіно cross-dissolving - затемнення однієї сцени і освітлення інший) - злиття двох зображень, при якому колір кожної точки нового зображення береться як суміш кольорів відповідних точок двох початкових зображень в заданій пропорції.
Tweening застосовує warping для інтерпольованих крапок, тобто дозволяє отримати проміжні фази. Dissolving об’єднує два отримані зображення в одне. В цілому при морфінгу перший об’єкт плавно намагається прийняти форму другого, а другий, прийнявши форму першого, намагається повернутися до нормальної форми. Dissolving змішує зображення, при цьому зображення першого об’єкта поступово затухає, а другого - з'являється.
АЛГОРИТМИ
Алгоритм залежить від необхідної якості, швидкості і способу завдання відповідності елементів зображень. Зручно задавати відповідність використовуючи сітку.
Щільність сітки впливає на швидкість обчислень, вимоги до пам'яті, якість отримуваного зображення. Редактор, що надає інші способи завдання відповідностей, повинен привести їх до сітки.
Сітка задається вузлами, і саме ці вузли (крапки) при tweenig'е плавно рухаються від свого першого положення в друге, тобто tweening морфує сітку. Warping здійснюється відповідно до початкової сітки і сітки, отриманої для даного кадру. Для вузлових точок це легко: ми знаємо, що в початковій сітці вузол знаходився в крапці (x,y) з кольором с. Означає в необхідній картинці крапка, в якій тепер знаходиться вузол, має колір с. Для решти крапок дещо складніше: тут застосовується білінійна або бікубічна інтерполяція.
При виконанні даної розрахункової роботи я користувався алгоритмом геометричного морфінгу.
Розглянемо процес морфінгу опуклої Фігури А в опуклу Фігуру B.
Хай морфінг проводиться протягом проміжку часу [0,1]. Необхідно вказати для кожного моменту часу t з [0,1] фігуру AB(t) таку, що AB(0)= A, AB(1)= B, причому зміна AB з часом - плавна.
Етап I. Створення описуючих фігур.
Через грані фігури А проводяться прямі - назвемо їх обмежуючими прямими. Фігура, що обмежується цими прямими, - A''. Проводиться паралельне перенесення обмежуючих прямих так, щоб A'' була мінімальною фігурою, що містить фігуру B (Мал. 2). Паралельне перенесення граней окремо показане на Ріс.2a, 2b, 2c. На Мал. 2d показаний результат: початкова фігура "описала" кінцеву. Якщо проводити перенесення протягом кінцевого проміжку часу, отримаємо морфінг А в А'':
A' = A'(t)
A'(0)= A
A'(1)= A''
Аналогічно створюється образ B'' фігури B, що містить фігуру А, і...